package com.property.demo.service;

import com.property.demo.model.Repair;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Optional;

public interface RepairService {

    List<Repair> findAll();
    
    Page<Repair> findAll(Pageable pageable);
    
    Page<Repair> findByFilters(Long ownerId, Long homeId, String description, String status, String type, Pageable pageable);
    
    Optional<Repair> findById(Long id);
    
    Repair save(Repair repair);
    
    Repair update(Long id, Repair repairDetails);
    
    void delete(Long id);
    
    void deleteAll(List<Long> ids);
    
    List<Repair> findByOwnerId(Long ownerId);
    
    List<Repair> findByHomeId(Long homeId);
    
    List<Repair> findByStatus(String status);
    
    List<Repair> findByType(String type);
} 